"""Functions for working with DataFrame columns."""

from fenic.api.functions import embedding, json, markdown, semantic, text
from fenic.api.functions.builtin import (
    array,
    array_agg,
    array_contains,
    array_size,
    asc,
    asc_nulls_first,
    asc_nulls_last,
    avg,
    coalesce,
    collect_list,
    count,
    desc,
    desc_nulls_first,
    desc_nulls_last,
    first,
    max,
    mean,
    min,
    stddev,
    struct,
    sum,
    udf,
    when,
)
from fenic.api.functions.core import col, lit

__all__ = [
    "semantic",
    "text",
    "embedding",
    "array",
    "array_agg",
    "avg",
    "collect_list",
    "coalesce",
    "count",
    "json",
    "markdown",
    "max",
    "mean",
    "min",
    "struct",
    "sum",
    "udf",
    "col",
    "lit",
    "array_size",
    "array_contains",
    "asc",
    "asc_nulls_first",
    "asc_nulls_last",
    "desc",
    "desc_nulls_first",
    "desc_nulls_last",
    "extract",
    "token_chunk",
    "concat",
    "concat_ws",
    "array_join",
    "replace",
    "when",
    "first",
    "stddev",
]
